In many situations, it is desirable to manage networking equipment, servers, and computers located at a location remote from the system administrator. If the distance is great enough, the Internet is commonly utilized to control computers from a remote location. For example, a software program such as pcAnywhere may be utilized to access a remote computer over the Internet or a LAN utilizing the keyboard, video monitor, and cursor control device attached to a local user workstation. Remote computer access programs, such as pcAnywhere, typically require that host software is installed on the remote computer and client software is installed on the user workstation. To access a remote computer, a user of the user workstation selects the desired remote computer from a list and enters the appropriate username and password. Once access has been granted to the remote computer, the user utilizes the keyboard, video monitor, and cursor control device attached to the local user workstation to access and operate the remote computer.
Hardware solutions also exist for operating a remote computer from a user workstation over the Internet or via a modem. In contrast to software solutions, hardware solutions do not typically require host and/or client software. Instead, hardware solutions typically utilize a keyboard, video monitor, and mouse (“KVM”) switch which is accessible over the Internet or LAN via a common protocol, such as TCP/IP. The hardware solutions may also utilize a modem to connect to the Internet. Generally, a user or system administrator accesses the remote computers attached to the KVM switch utilizing an Internet web-browser or client software associated with the KVM switch. Once the remote computer has been selected, the remote computer's video signal is routed to the user workstation's video monitor and a user may then utilize a keyboard and/or mouse to control the remote computer. The KVM switch may additionally include a connection to the power source of the remote computer for a hard reboot in case of system failure.
The aforementioned hardware and software solutions generally utilize compression algorithms to reduce the necessary bandwidth required to transmit the video signals. For example, the remote network management system of the present invention uses the compression algorithm disclosed in application Ser. No. 10/233,299, which is incorporated herein by reference, to reduce and compress the digital data that must be transmitted to the remote computers and/or video display devices. Generally, video signals generated by a personal computer have both spatial and interframe redundancies. For example, in a near idle personal computer, the only change between successive frames of video might be the blinking of a cursor. Even as a user types a document, a majority of the screen does not change over a period of time. Hence, the compression algorithm used by the present invention takes advantage of these redundancies, both between successive frames of video and within each individual frame, to reduce the amount of digital video signal data that is transmitted to the remote computers and/or video display devices. Reducing the amount of digital data transmitted over the communication medium decreases communication time and decreases the required bandwidth.
Most forms of video compression known in the art require complicated calculations. For example, Moving Pictures Experts Group (“MPEG”) video compression algorithms use the discrete cosine transform as part of its algorithm. Also, the MPEG standard relies on the recognition of “motion” between frames, which requires calculation of motion vectors that describe how portions of the video image have changed over a period of time. Since these algorithms are calculation intensive, they either require expensive hardware or extended transmission times that allow sufficient time for slower hardware to complete the calculations.
In addition to complexity, many existing video compression techniques are lossy (i.e., they do not transmit all of the video signal information in order to reduce the required bandwidth). Typically, such lossy techniques either reduce the detail of a video image or reduce the number of colors utilized. Although reducing the number of colors could be part of an adequate compression solution for some computer management systems applications, in many other applications, such a result defeats the intended purposes of the computer management system.
The following references, which are discussed below, were found to relate to the field of computer management systems: Perholtz et al. U.S. Pat. No. 5,732,212 (“Perholtz”), Beasley U.S. Pat. No. 6,112,264 (“Beasley”), Pinkston, II et al. U.S. Pat. No. 6,378,009 (“Pinkston”), Thornton et al. U.S. Pat. No. 6,385,666 (“Thornton”), and Wilder et al. U.S. Pat. No. 6,557,170 (“Wilder”).
Perholtz discloses a method and apparatus for coupling a local user workstation, including a keyboard, mouse, and/or video monitor, to a remote computer. Perholtz discloses a system wherein the remote computer is selected from a menu displayed on a standard size personal computer video monitor. Upon selection of a remote computer by the system user, the remote computer's video signals are transmitted to the local user workstation's video monitor. The system user may also control the remote computer utilizing the local user workstation's keyboard and monitor. The Perholtz system is also capable of bi-directionally transmitting mouse and keyboard signals between the local user workstation and the remote computer. The remote computer and the local user workstation may be connected either via the Public Switched Telephone System (“PSTN”) and modems or via direct cabling.
Similar to Perholtz, Beasley discloses a specific implementation of a computerized switching system for coupling a local keyboard, mouse and/or video monitor to one of a plurality of remote computers. In particular, a first signal conditioning unit includes an on-screen programming circuit that displays a list of connected remote computers on the local video monitor. To activate the menu, a user depresses, for example, the “print screen” key on the local keyboard. The user selects the desired computer from the list using the local keyboard and/or mouse.
According to Beasley, the on-screen programming circuit requires at least two sets of tri-state buffers, a single on-screen processor, an internal synchronization generator, a synchronization switch, a synchronization polarizer, and overlay control logic. The first set of tri-state buffers couples the red, green, and blue components of the video signals received from the remote computer to the video monitor. That is, when the first set of tri-state buffers are energized, the red, green, and blue video signals are passed from the remote computer to the local video monitor through the tri-state buffers. When the first set of tri-state buffers are not active, the video signals from the remote computer are blocked. Similarly, the second set of tri-state buffers couples the outputs of the single on-screen processor to the video monitor. When the second set of tri-state buffers is energized, the video output of the on-screen programming circuit is displayed on the local video monitor. When the second set of tri-state buffers is not active, the video output from the on-screen programming circuit is blocked. Alternatively, if both sets of tri-state buffers are energized, the remote computer video signals are combined with the video signals generated by the on-screen processor prior to display on the local video monitor.
The on-screen programming circuit disclosed in Beasley also produces its own horizontal and vertical synchronization signals. To dictate which characters are displayed on the video monitor, the CPU sends instructional data to the on-screen processor. This causes the on-screen processor to retrieve characters from an internal video RAM for display on the local video monitor.
The overlaid video image produced by the on-screen processor, namely a Motorola MC141543 on-screen processor, is limited to the size and quantity of colors and characters that are available with the single on-screen processor. In other words, the Beasley system is designed to produce an overlaid video that is sized for a standard size computer monitor (i.e., not a wall-size or multiple monitor type video display) and is limited to the quantity of colors and characters provided by the single on-screen processor.
During operation of the Beasley system, a remote computer is chosen from the overlaid video display. Thereafter, the first signal conditioning unit receives keyboard and mouse signals from the local keyboard and mouse and generates a data packet for transmission to a central cross point switch. The cross point switch routes the data packet to the second signal conditioning unit, which is coupled to the selected remote computer. The second signal conditioning unit then routes the keyboard and mouse command signals to the keyboard and mouse connectors of the remote computer. Similarly, video signals produced by the remote computer are routed from the remote computer through the second signal conditioning unit, the cross point switch, and the first signal conditioning unit to the local video monitor. The horizontal and vertical synchronization video signals received from the remote computer are encoded on one of the red, green or blue video signals. This encoding reduces the quantity of cables required to transmit the video signals from the remote computer to the local video monitor.
Pinkston discloses a keyboard, video, mouse (“KVM”) switching system capable of coupling to a standard network (e.g., a Local Area Network) operating with a standard network protocol (e.g., Ethernet, TCP/IP, etc.). The system of Pinkston couples a central switch to a plurality of computers and at least one user station having a keyboard, video monitor, and mouse. The central switch includes a network interface card (“NIC”) for connecting the central switch to a network, which may include a number of additional computers or remote terminals. Utilizing the Pinkston system, a user located at a remote terminal attached to the network may control any of the computers coupled to the central switch.
Thornton discloses a computer system having remotely located I/O devices. The system of Thornton includes a computer, a first interface device, and a remotely located second interface device. The first interface device is coupled to the computer and the second interface device is coupled to a video monitor and as many as three I/O devices (e.g., keyboard, mouse, printer, joystick, trackball, etc.) such that a human interface is created. The first and second interface devices are coupled to each other via a four wire cable. The first interface device receives video signals from the connected computer and encodes the horizontal and vertical synchronization signals of the received video signals onto at least one of the red, green, and blue components of the video signal. The first interface device also encodes the I/O signals received from the connected computer into a data packet for transmission over the fourth wire in the four wire cable. Thereafter, the encoded, red, green, and blue components of the video signals and the data packet are transmitted to the second interface device located at the human interface. The second interface device decodes the encoded red, green, and blue components of the video signal, separates the encoded horizontal and vertical synchronization signals, and decodes the I/O signal data packet. The video signal and the synchronization signals are then output to the video monitor attached to the second interface and the decoded I/O signals are routed to the proper I/O device, also attached to the second interface. The second interface device may optionally include circuitry to encode I/O signals received from the I/O devices attached to the second interface for transmission to the first interface device.
Wilder discloses a keyboard, video, mouse, and power switching (“KVMP”) apparatus for connecting a plurality of computers to one or more user stations having an attached keyboard, video monitor, and mouse. On screen display (“OSD”) circuitry embedded within the KVMP switching apparatus allows a user located at a user station to select and operate any one of the computers utilizing the keyboard, video monitor, and mouse attached to the user station. Secondary switching circuitry located within the KVMP switching apparatus allows a user located at a user station to additionally control the electrical power supply supplying each computer.
In view of the foregoing, a need clearly exists for a self-contained remote network management system capable of operating and controlling networking equipment, servers, and computers connected to a remote control switching unit. Furthermore, such a system should allow a user to control the power supply attached to the remote networking equipment, servers, and computers. The system should aid in managing remote network environments, thereby reducing the need to have an on-site system administrator.